﻿/// <reference path="prototype.js" />
/// <reference path="GameBoard.class.js" />
/// <reference path="Player.class.js" />
/// <reference path="Snake.class.js" />


var board = new  GameBoard($("gameboard"), 80, 40, 10);
var s = new Snake(board, 2, 5);
s.setDirection("right");
s.start();
s.grow(4);

var p = new Player("greg", 300, s);

setTimeout(lol, 2000);

function lol() {
    var r = p.serialize();
    alert(r);
    s.stop();
    
    var p2 = Player.unserialize(r, board);
    p2.getSnake().start();
}

/*

var Test = Class.create({
    initialize: function() { 

            
        
    },
    
  
});


/*

//Implémentation du pattern singleton en javascript + prototype.js
//Au lieu de définir une nouvelle classe, on instancie directement une classe anonyme
//On peut alors faire monGC = GameController.getInstance(), et on notera que comme sur un "vrai" singleton,
// monGC = new GameController() renvoie une erreur (puisque GameController n'est pas une classe mais une instance de classe)


var Test = new(Class.create({
    initialize: function() {
        alert("new instance");
        this.truc = 1;
    },

    getInstance: function() {
        return this;
    },

    setTruc: function(t) {
        this.truc = t;
    },
    
    getTruc: function() {
        alert(this.truc);
    }

}));

//Test = new _Test()

var lol = Test.getInstance();
lol.setTruc(2);
lol.getTruc();

var a = Test.getInstance();
a.setTruc(3);
lol.getTruc();
*/